package com.lrkj.waitress.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.lrkj.common.annotation.Excel;
import com.lrkj.common.core.domain.BaseEntity;
import com.lrkj.payfee.domain.Receipt;
import com.lrkj.payfee.domain.RoomNorm;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 入伙登记对象 tb_join_register
 *
 * @author yajun_ren
 * @date 2022-03-17
 */
@Data
public class JoinRegister extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private String id;

    /**
     * 小区id
     */
    @Excel(name = "小区id")
    private String communityId;

    /**
     * 楼栋id
     */
    @Excel(name = "楼栋id")
    private String floorId;


    //单元ID
    private String unitId;

    /**
     * 房屋id
     */
    @Excel(name = "房屋id")
    private String roomId;

    //业主ID
    private String customId;
    /**
     * 入伙时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "入伙时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date joinTime;

    /**
     * 购房合同号
     */
    @Excel(name = "购房合同号")
    private String houseContractNum;

    /**
     * 收楼书号
     */
    @Excel(name = "收楼书号")
    private String bookNum;

    /**
     * 通知书
     */
    @Excel(name = "通知书")
    private String joinNotice;

    /**
     * 存放位置
     */
    @Excel(name = "存放位置")
    private String depositPosition;

    /**
     * 产权证号
     */
    @Excel(name = "产权证号")
    private String propertyRightNumber;

    /**
     * 土地证号
     */
    @Excel(name = "土地证号")
    private String landNumber;

    /**
     * 逻辑删除
     */
    @Excel(name = "逻辑删除")
    private String isDeleted;

    /**
     * 状态
     */
    @Excel(name = "状态")
    private String status;

    /**
     * 组织机构
     */
    @Excel(name = "组织机构")
    private String deptId;

    /**
     * 祖父ID
     */
    @Excel(name = "祖父ID")
    private String ancestors;

    //-----------------------------------------------------业主信息-----------------------------------------------------//
    //业主类型
    private String customType;
    //业主性别
    private String sex;
    //客户姓名
    private String customName;
    //客户头像
    private String customHeadImg;
    //手机号码
    private String cellPhoneNumber;
    //身份证号
    private String idCard;
    //出生日期
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date birthDate;
    //公司名称
    private String corporateName;
    //联系地址
    private String contactAddress;
    //联系人
    private String linkman;

    private String no;
    private String roomName;
    private String communityName;

    //入伙附件表
    private List<JoinFile> joinFileList;

    //房屋收费标准
    private List<RoomNorm> roomNormList;

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("communityId", getCommunityId())
                .append("floorId", getFloorId())
                .append("roomId", getRoomId())
                .append("joinTime", getJoinTime())
                .append("houseContractNum", getHouseContractNum())
                .append("bookNum", getBookNum())
                .append("joinNotice", getJoinNotice())
                .append("depositPosition", getDepositPosition())
                .append("propertyRightNumber", getPropertyRightNumber())
                .append("landNumber", getLandNumber())
                .append("createTime", getCreateTime())
                .append("createBy", getCreateBy())
                .append("updateTime", getUpdateTime())
                .append("updateBy", getUpdateBy())
                .append("isDeleted", getIsDeleted())
                .append("status", getStatus())
                .append("deptId", getDeptId())
                .append("ancestors", getAncestors())
                .toString();
    }
}
